home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Base Documentation 1998 November
/
IRIX 6.5.2 Base Documentation November 1998.img
/
usr
/
share
/
catman
/
p_man
/
cat3
/
PDFindPageSize.z
/
PDFindPageSize
Wrap
Text File
|
1998-10-30
|
10KB
|
199 lines
PPPPDDDDFFFFiiiinnnnddddPPPPaaaaggggeeeeSSSSiiiizzzzeeee((((3333)))) IIIImmmmpppprrrreeeessssssssaaaarrrriiiioooo PPPPDDDDFFFFiiiinnnnddddPPPPaaaaggggeeeeSSSSiiiizzzzeeee((((3333))))
NNNNAAAAMMMMEEEE
PDFindPageSize, PDGetSizeCodeByName, PDGetNameBySizeCode - page size
convenience functions
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
####iiiinnnncccclllluuuuddddeeee <<<<ppppoooodddd....hhhh>>>>
PPPPDDDDSSSSiiiizzzzeeeeTTTTaaaabbbblllleeeeSSSSttttrrrruuuucccctttt**** PPPPDDDDFFFFiiiinnnnddddPPPPaaaaggggeeeeSSSSiiiizzzzeeee((((PPPPDDDDIIIInnnnffffooooSSSSttttrrrruuuucccctttt ****iiiinnnnffffoooo,,,,
iiiinnnntttt ssssiiiizzzzeeee____ccccooooddddeeee))));;;;
iiiinnnntttt PPPPDDDDGGGGeeeettttSSSSiiiizzzzeeeeCCCCooooddddeeeeBBBByyyyNNNNaaaammmmeeee((((cccchhhhaaaarrrr ****ssssiiiizzzzeeee____nnnnaaaammmmeeee))));;;;
cccchhhhaaaarrrr**** PPPPDDDDGGGGeeeettttNNNNaaaammmmeeeeBBBByyyySSSSiiiizzzzeeeeCCCCooooddddeeee((((iiiinnnntttt ssssiiiizzzzeeee____ccccooooddddeeee))));;;;
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
_P_D_F_i_n_d_P_a_g_e_S_i_z_e, _P_D_G_e_t_S_i_z_e_C_o_d_e_B_y_N_a_m_e and _P_D_G_e_t_N_a_m_e_B_y_S_i_z_e_C_o_d_e are
convenience functions for specifying and querying page size information.
_P_D_F_i_n_d_P_a_g_e_S_i_z_e is a convenience function for determining whether a given
media size is supported on a given printer. This function is especially
useful for obtaining information about the currently loaded media.
_P_D_F_i_n_d_P_a_g_e_S_i_z_e searches the page size table of the specified _P_D_I_n_f_o_S_t_r_u_c_t
for the page size specified by _s_i_z_e__c_o_d_e. _i_n_f_o may be obtained with a
call to either _P_D_L_o_c_a_l_R_e_a_d_I_n_f_o or _P_D_R_e_a_d_I_n_f_o. The values for _s_i_z_e__c_o_d_e
are all designated PPPPDDDD____SSSSIIIIZZZZEEEE____[[[[ssssiiiizzzzeeee nnnnaaaammmmeeee]]]] and can be found in _p_o_d._h. Of
particular interest is the value PPPPDDDD____SSSSIIIIZZZZEEEE____CCCCUUUURRRRRRRREEEENNNNTTTT. Specifying this value
returns the currently loaded media size information.
Often a page size is provided to an application as a name (e.g. "A4").
However, most _l_i_b_p_o_d functions require a page size code rather than a
page name string. The _P_D_G_e_t_S_i_z_e_C_o_d_e_B_y_N_a_m_e function provides the page size
code corresponding to the specified page size name. The complete list of
page size names and codes can be found in _p_o_d._h.
The _P_D_G_e_t_N_a_m_e_B_y_S_i_z_e_C_o_d_e function performs the inverse operation of
_P_D_G_e_t_S_i_z_e_C_o_d_e_B_y_N_a_m_e. The page size name string corresponding to the
specified page size code is returned. The complete list of page size
names and codes can be found in _p_o_d._h.
The _P_D_S_i_z_e_T_a_b_l_e_S_t_r_u_c_t is defined as follows.
typedef struct _pdSizeTableStruct {
int media_size; /* Generic media name token */
int horizontal_addr; /* Horizontal dots */
int vertical_addr; /* Vertical dots */
float width; /* Width in inches */
float length; /* Length in inches */
float left_margin; /* Left margin in inches */
float top_margin; /* Top margin in inches */
char raster_definition; /* Raster direction and */
/* orientation bits */
PPPPaaaaggggeeee 1111
PPPPDDDDFFFFiiiinnnnddddPPPPaaaaggggeeeeSSSSiiiizzzzeeee((((3333)))) IIIImmmmpppprrrreeeessssssssaaaarrrriiiioooo PPPPDDDDFFFFiiiinnnnddddPPPPaaaaggggeeeeSSSSiiiizzzzeeee((((3333))))
char validation_mask; /* Entry validation */
char variable_page_size; /* Variable width or length bits */
} PDSizeTableStruct;
_m_e_d_i_a__s_i_z_e Media size code (see _p_o_d._h).
_h_o_r_i_z_o_n_t_a_l__a_d_d_r, _v_e_r_t_i_c_a_l__a_d_d_r
Number of horizontal and vertical dots. This is also
the length of each raster line and the number of
raster lines, respectively.
_w_i_d_t_h Width of the medium in inches along the raster line.
_l_e_n_g_t_h Length of the medium in inches perpendicular to the
raster line.
_l_e_f_t__m_a_r_g_i_n Non-printable distance in inches to the left of each
raster line.
_t_o_p__m_a_r_g_i_n Non-printable distance in inches before the first
raster line.
_r_a_s_t_e_r__d_e_f_i_n_i_t_i_o_n Code describing the direction and orientation of the
printer raster (see _p_o_d._h).
_v_a_l_i_d_a_t_i_o_n__m_a_s_k Size table entry validation bit mask.
_v_a_r_i_a_b_l_e__p_a_g_e__s_i_z_e Variable page size code (see _p_o_d._h).
RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEE
_P_D_F_i_n_d_P_a_g_e_S_i_z_e returns a pointer to a PDSizeTableStruct if the page size
specified by _s_i_z_e__c_o_d_e is found. Note that the pointer returned points
into the specified _P_D_I_n_f_o_S_t_r_u_c_t and should not be freed. Also note that
this pointer will become invalid upon subsequent calls to _P_D_L_o_c_a_l_R_e_a_d_I_n_f_o
and _P_D_R_e_a_d_I_n_f_o. If the specified page size is not found or an execution
error occurs, NULL is returned and _P_D_e_r_r_n_o will be set. Test the value of
_P_D_e_r_r_n_o to determine whether an execution error occurred or the page size
was not found (see Execution Error Codes below).
_P_D_G_e_t_S_i_z_e_C_o_d_e_B_y_N_a_m_e returns the page size code corresponding to the
specified page size name. If an execution error occurs or the page name
cannot be found, -1 is returned and _P_D_e_r_r_n_o will be set. To distinguish
between execution error and name not found test the value of _P_D_e_r_r_n_o.
_P_D_G_e_t_N_a_m_e_B_y_S_i_z_e_C_o_d_e always returns a pointer to a page name string. If
the size code is invalid, an empty string may be returned. Note that the
pointer returned points to library static storage. To preserve the name
string across subsequent calls to the function, copy the string to caller
allocated storage.
PPPPaaaaggggeeee 2222
PPPPDDDDFFFFiiiinnnnddddPPPPaaaaggggeeeeSSSSiiiizzzzeeee((((3333)))) IIIImmmmpppprrrreeeessssssssaaaarrrriiiioooo PPPPDDDDFFFFiiiinnnnddddPPPPaaaaggggeeeeSSSSiiiizzzzeeee((((3333))))
EEEEXXXXEEEECCCCUUUUTTTTIIIIOOOONNNN EEEERRRRRRRROOOORRRR CCCCOOOODDDDEEEESSSS
_P_D_F_i_n_d_P_a_g_e_S_i_z_e will fail under the following circumstances.
PD_LIBERR_NO_PAGESIZE Page size corresponding to the specified page
size code could not be found.
PD_LIBERR_BAD_STRUCT A NULL structure pointer has been specified.
_P_D_G_e_t_S_i_z_e_C_o_d_e_B_y_N_a_m_e will fail under the following circumstances.
PD_LIBERR_NO_PAGECODE Page size code corresponding to the specified
page size name could not be found.
PD_LIBERR_BAD_SIZENAME Page size name is a NULL pointer.
_P_D_G_e_t_N_a_m_e_B_y_S_i_z_e_C_o_d_e always returns a pointer to a string.
SSSSEEEEEEEE AAAALLLLSSSSOOOO
PDReadInfo(3), libpod(3)
PPPPaaaaggggeeee 3333